package Day_0207.Redis;

/**
 * @author zxc
 * @date 2023/02/07 22:22
 **/
public class Redis_Cluster_Mode {
    public static void main(String[] args) {
        /**
         * Redis的集群模式
         * ===》
         * 1. Redis Sentinel
         * 体量较小时，选择 Redis Sentinel ，单机 Redis 足以支撑业务。
         *
         * 2. Redis Cluster
         * Redis 官方提供的集群化方案，体量较大时，选择 Redis Cluster ，通过分片，使用更多内存。
         *
         * 3. Twemprox
         * （1）Twemprox 是 Twtter 开源的一个 Redis 和 Memcached 代理服务器，
         * （2）主要用于管理 Redis 和Memcached 集群，减少与Cache 服务器直接连接的数量。
         *
         * 4. Codis
         * （1）Codis 是一个代理中间件，当客户端向 Codis 发送指令时， Codis 负责将指令转发到后面的Redis 来执行，并将结果返回给客户端。
         * （2）一个 Codis 实例可以连接多个 Redis 实例，也可以启动多个 Codis 实例来支撑，每个 Codis 节点都是对等的，
         * （3）这样可以增加整体的 QPS 需求，还能起到容灾功能。
         *
         * 5. 客户端分片
         * （1）在 Redis Cluster 还没出现之前使用较多，现在基本很少热你使用了，
         * （2）在业务代码层实现，起几个毫无关联的 Redis 实例，在代码层，对 Key 进行 hash 计算，
         * （3）然后去对应的 Redis 实例操作数据。
         * （4）这种方式对 hash 层代码要求比较高，考虑部分包括，节点失效后的替代算法方案，数据震荡后的自动脚本恢复，实例的监控，等等。
         *
         */
    }
}
